linear programming basic concepts adn problem formulation